#include <algorithm>
#include <cmath>
#include <pmmintrin.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <xmmintrin.h>

using std::max;
using std::min;

typedef uint32_t DWORD;
#if 0
#define _aligned_malloc(a, b) aligned_alloc(b, a)
#else
#define _aligned_malloc(ptr, a, b) posix_memalign(ptr, b, a)
#endif
#define _aligned_free(a)
